/*
 * plani.h
 *
 *  Created on: 22/09/2011
 *      Author: utn_so
 */

#ifndef PLANI_H_
#define PLANI_H_

#include "fs.h"

extern int cantSecTotal;

struct bit_map{
	int b [4194304];
};

//int eliminarPlani(int idDisco, struct descriptor_t *tabla);

void atenderPlani(int fdCon);

void* enviarPlani(void* params);

int agregarPedido(int dPedido, unsigned char pedido, int sector, char *buffer);

void* redundancia(void* params);

int tareaCompleta();

int enviarAOtroPlani(int idDisco);

int enviar(int idDisco, int fdCon, struct t_pedido* pedidos);

//int crearArchivoYBitMap(int fdCon);

int crearBitMap(int sectores, struct bit_map * bitmap);

int cargoBitMap_uno(int sectores, struct bit_map * bitmap);

int actualizarBitMap_uno(int sector, struct bit_map* bitmap);

int actualizarBitMap_cero(int sector, struct bit_map* bitmap);

int sePuedeLeer(int sector, struct bit_map* bitmap);

int eliminarPedido(int descriptorPlanificador, char pedido, int sector, char *buffer);

#endif /* PLANI_H_ */
